const express=require('express')
const path=require('path')
let app=express()
app.listen(3000,()=>{
    console.log('3000ok');
})


// 一、引入：cookie-session中间件
let  cookieSession=require("cookie-session")

// 二、注册中间件
app.use(cookieSession({
    keys:["fafqwrwrwer","asfsafafewrwe","q23242342czvvxvdf"],  
    maxAge:1000*60 ,
    name:"abcd",
}))
app.use(express.urlencoded({extended:true}))
app.use(express.json())


app.get("/login",(req,res)=>{

    res.sendFile(path.join(__dirname,"./views/login.html"))
})




app.post("/login",(req,res)=>{

    // console.log(req.body);
    // { username: 'zs', password: '111', yzm: '1234' }
    // 用户提交的验证码


    // 用户名密码是否已填
    // 两次输入的密码是否已知
    // 判定验证码：
    let {yzm}=req.body
    console.log(yzm,"用户提交的");//0EUUd2
    console.log(req.session,"服务器的session上存储的验证码");// { yzm: '0EUUd2' }


    // 区分大小写
    // if(yzm!==req.session.yzm){
    //     res.send("验证码不正确")
    //     return
    // }

    if(yzm.toUpperCase()!==req.session.yzm.toUpperCase()){
        res.send("验证码不正确")
        return
    }



    res.send("login")
})





// 引入 验证码模块
let  svgCaptcha=require("svg-captcha")


app.get("/getyzm",(req,res)=>{

    let svg=svgCaptcha.create({
        color:true,
        background:"#eee",
        noise:3,
        size:6
    })


    // text: 给服务器验证的
    // data: 给用户看的

    req.session.yzm=svg.text

    res.type("svg")
    res.send(svg.data)
})